Zero-Shot Adaptive Transfer for Conversational Language Understanding

本文来自于AAAI2019,主要研究的是自然语言理解领域迁移的问题,与传统的序列标注模型不同的是,作者使用了slot描述信息来辅助多个领域之间的迁移,在10个领域的数据集上取得了最优的效果。

paper link

Introduction

序列标注任务是自然语言理解中的一个关键问题,智能对话代理(Alexa, Google Assistant, Cortana等)需要频繁地添加新领域识别的功能,而构建一个良好的序列标注模型需要大量的标注数据。因此,如何从已有的高资源领域迁移到低资源领域是一个很有意义的问题。

目前NLU迁移问题主要有两种方法:

本文提出的模型Zero-Shot Adaptive Transfer model (ZAT)借鉴于zero-shot learning,传统的序列标注任务把slot类型作为预测输出,而本文中的模型则是将slot描述信息作为模型输入,如下图:

Figure  1:  (a)  Traditional  slot  tagging  approaches  with  the BIO  representation.  (b)  For  each  slot,  zero-shot  models  independently  detect  spans  that  contain  values  for  the  slot.  Detected  spans  are  then  merged  to  produce  a  final  prediction.

针对于同一个utterance,需要独立的经过每一类slot type模型预测结果,之后再把结果合并得到最终的输出。作者假设,不同的领域可以共享slot描述的语义信息,基于此,我们可以在大量的源数据中训练源模型,之后在少量的目标数据上finetune,并且不需要显式地slot对齐。

Zero-Shot Adaptive Transfer Model

Figure  2:  Network  architecture  for  the  Zero-Shot  Adaptive  Transfer  model.

Word Embedding Layer

对于input tokens和slot description tokens,ZAT模型使用了word embedding和character embedding拼接的方式,其中character embedding由CNN卷积然后max-pooling得到。

Contextual LSTM Layer

得到token的编码之后,再经过一个Bi-LSTM编码层,注意input tokens和slot description tokens共享相同的Bi-LSTM层,分别得到隐层状态表示$X\in R^{d\times T}, Q\in R^{d\times J}$ 。

Attention Layer

注意力层的作用是获取input tokens的slot-aware的表征,使用每一个input token对应的隐层状态对slot description tokens所有隐层状态做注意力:

其中$x_{t}$是$X$的第t行,$q_{j}$是$Q$的第j行。论文选择的$\alpha(x,q)=w
^{T}[x;q;x\circ q]$,最终得到$G_{:t}=\sum_{j}a_{tj}q_{j}$。

Conditional LSTM Layer

然后逐元素求和计算$\mathbf{H}=\mathbf{G} \oplus \mathbf{X}$ ,再通过一个Bi-LSTM。

Feedforward Layer && CRF Layer

最后通过一个前馈层和CRF层输出预测结果。

ZAT模型预测的时候需要将所有的slot description与input utterance经过模型,再将所有的结果合并。

For example, we merge “Find $[mexican]_{category}$ deals in seattle” and “Find mexican deals in $[seattle]_{location}$” to produce “Find $[mexican]_{category}$ deals in $[seattle]_{location}$.” When there are conflicting spans, we select one of the spans at random.

Experiments

Dataset

Table  1:  List  of  domains  we  experimented  with.  80%  of  the  data  is  sampled  for  building  the  training  sets,  with  10%  each  for dev  and  test  sets.

Domain Adaptation using Zero-Shot Model

针对于领域迁移任务,作者将10个领域数据集(随机取2000条)分为source data(包含9个领域)和target data(包含剩下的1个领域),先在source data训练出一个基础模型,之后再用target data进行finetue。

Note that the size of the joint dataset for each target domain is 18,000, which is dramatically smaller than millions of examples used for training expert models in the BoE approach.

Results and Discussion

Table  2:  F1-scores  obtained  by  each  of  the  six  models  for  the  10  domains,  with  the  highest  score  in  each  row  marked  as  bold. Table  (a),  (b)  and  (c)  report  the  results  for  2000,  1000  and  500  training instances,  respectively.  The  average  improvement  is computed  over  the  CRF  model,  with  the  ones  marked * being  statistically  significant  with  p-value<0.05.

实验结果表明,ZAT模型与基线相比取得了最优的效果。

Figure  7:  Visualization  of  attention  weights  for  the  input  sentence  ”Can  I  wear  jeans  to  a  casual  dinner?”  with  different  slots: (a)  category,  (b)  item,  and  (c)  time.

Conclusion

本文主要研究的是自然语言理解领域迁移的问题,提出了一种基于zero-shot learning的迁移方法,既避免了data-driven训练时间增加的缺点,同时也消除了slot对齐的问题,在各个领域的数据迁移实验中都取得了非常好的效果,尤其是低资源领域。